Solstice level data and some misc data documentation by JP32.
PM @ J^P on romhacking.net if you have any questions.

One super important thing is tetraspace's map (http://tetraspace.com/solstice/), super handy AND it has all room ID's for all rooms
(its hard to see since its in dark gray against black background, but its there).

-Room data always starts with Room attributes, 3 bytes for rooms palette to be specif 
-If the room doesn't sprites, then its just straight out skipped(goes from room attributes to graphics).
-If the room doesn't have any kind of blocks, their amount bits are just set “00” and then “00” again(three 00 in row)
-There are few Unknown bits, I have no idea what they do other than fucking the whole room up or doing nothing.
-I have no idea how the game layouts all rooms in top-down perspective(the pause menu map)
-Things like list of all sprites are listed in separate text files
-All rooms are back-to-back on the rom(one exception for the ending cut-scene room)
-Room used in the opening cut-scene doesn't use normal room data AFAIK.
-Ending cut-scene is normal room but some data(palette and sprites) are overwritten.
-Very first room stars at hex-address "18398"

Room data order is:
Room attributes	 		5 bytes
Sprite(s) 				5 bytes +5 for each additional one (seems like three is max?)
Graphics 				13 bytes
Door(s) and exit(s) 	1 byte, +2 for each exit in the room
Normal block amount		1 byte
Normal block(s)			4 bytes or 16 bytes each
Special block amount	1 byte
Special block(s)		16 bytes each


In detail, byte by byte:

Room attributes:
1 Room palette 1
2 Room palette 2
3 Room palette 2
4 Room size
5 Unknown
*Unknown bit 5 seems to just fuck whole room up?
*Room sizes are listed further into this doc.


Sprites:
1 Sprite type
2 Sprites X and Y position
3 Sprites Direction and Z position
4 Sprites palette 1
5 Sprites palette 2
+5 more for each additional sprite
*SW to NE or NW to SE if its odd or even(0 or 1)
*If room doesn't have sprites then this is skipped
*List of Sprite types is in separate text file because its long.


Walls, Floors, their graphics and types:
1 NW wall Pattern
2 NE wall Pattern
3 NW wall Graphics
4 NE wall Graphics
5 Floor Type
6 Floor Graphics
7 Unknown
8 Unknown	
9 Unknown
10 Unknown
11 Unknown
12 Unknown
13 Unknown
*Rooms 28, 1E, 37, 19, ED, 38, E3, E5 and 11 seems to use different format since they have two floor graphics and types, they use bits 7-13 but I couldn't figure it out, probably hard-coded to some degree or maybe Im just overthinking it, or just lacking some IQ points. Maybe both.
*list of wall/floor graphics and types are listed further in this doc.


Exits:
1 unknown
2 exit Z and X or Y position
3 exit destination
+2 more for each exit the room has
*Unknown bit 1 seems to just fuck whole room up?


Normal blocks:
1	How many normal blocks to load

If its normal block with no manual graphics fixes:
1	block graphics
2	block XY position (SW/NE, NW/SE)
3	block Z position (UP/DOWN)
4	unknown, its 80 if it has no manual graphics fixes?
+4 for each additional block (if it ends in 80)
*list of block graphics are listed  further into this doc.

If its normal block with manual graphics fixes:
1	block graphics
2	block XY position (SW/NE, NW/SE)
3	block Z position (UP/DOWN)
4	unknown, its 00 if it has manual graphics fixes?

1	blocks top graphics 1 (8x8) (left side)
2	blocks top graphics 2 (8x8) (middle-left)
3	blocks top graphics 3 (8x8) (middle-right)
4	blocks top graphics 4 (8x8) (right side)

1	blocks middle graphics 1 (8x8) (left side)
2	blocks middle graphics 2 (8x8) (middle-left)
3	blocks middle graphics 3 (8x8) (middle-right)
4	blocks middle graphics 4 (8x8) (right side)

1	blocks bottom graphics 1 (8x8) (left side)
2	blocks bottom graphics 2 (8x8) (middle-left)
3	blocks bottom graphics 3 (8x8) (middle-right)
4	blocks bottom graphics 4 (8x8) (right side)
+16 for each block that has manual graphics fixes in them


Special blocks:
1	How many special blocks to load

1 	Block graphics
2	Block XY position (SW/NE, NW/SE)
3 	Block Z position  (UP/DOWN)
4 	Special block type

1	blocks top graphics 1 (8x8) (left side)
2	blocks top graphics 2 (8x8)
3	blocks top graphics 3 (8x8)
4	blocks top graphics 4 (8x8) (right side)

1	blocks middle graphics 1 (8x8) (etc etc..)
2	blocks middle graphics 2 (8x8) 
3	blocks middle graphics 3 (8x8)
4	blocks middle graphics 4 (8x8)

1	blocks bottom graphics 1 (8x8)
2	blocks bottom graphics 2 (8x8)
3	blocks bottom graphics 3 (8x8)
4	blocks bottom graphics 4 (8x8)
+16 for each special block
*list of special block types and graphics are listed further into this doc.

End of level data
*(sometimes theres extra 00 at end, sometimes theres not, I dont know why).

Thats it, check the other text files too.